package com.admin.education.services.Interfaces;

import com.admin.education.common.exceptions.ResourceNotFoundException;
import com.admin.education.dataTransferObject.PageRequest;
import com.admin.education.dataTransferObject.PageResponse;
import com.admin.education.dataTransferObject.ServicesExcuteResult;
import com.admin.education.dataTransferObject.designations.DesignationsTransfer;
import com.admin.education.dataTransferObject.designations.request.CreateDesignationsRequest;
import com.admin.education.dataTransferObject.designations.request.UpdateDesignationsRequest;
import com.admin.education.dataTransferObject.icons.IconsTransfer;
import com.admin.education.dataTransferObject.icons.request.CreateIconsRequest;
import com.admin.education.dataTransferObject.icons.request.UpdateIconsRequest;

import javax.validation.Valid;
import java.util.List;

public interface IIconsService {
    ServicesExcuteResult<List<IconsTransfer>> queryIcons();
    ServicesExcuteResult<PageResponse<IconsTransfer>> queryIcons(@Valid PageRequest pageRequest);
    ServicesExcuteResult createIcons(@Valid CreateIconsRequest createIconsRequest);
    ServicesExcuteResult updateIcons(long iconsId, @Valid UpdateIconsRequest updateIconsRequest) throws ResourceNotFoundException;
    ServicesExcuteResult<IconsTransfer> queryIconsById(long iconsId) throws ResourceNotFoundException;
    ServicesExcuteResult deleteIcons(long iconsId) throws ResourceNotFoundException;
}
